package cn.wolfcode.wolf2w.util;

import lombok.Getter;

@Getter
public enum RedisKey {
    //定义实例,并初始化字段
    USER_STRATEGT_THUMBUP_("user_strategt_thumbup",null), // 用户点赞
    USER_STRATEGT_FAVOR_("user_strategy_favor",-1l), // 用户收藏列表
    STRATEGY_STATIS_VO("strategy_statis_vo",-1L), // 攻略统计数
    VERIFY_CODE("verify_code",Consts.VERIFY_CODE_VAI_TIME*60L), // 验证码
    USER_LOGIN_TOKEN("user_login_token",Consts.VERIFY_CODE_VAI_TIME*60L); // 令牌

    // 前缀字段
    private String prefix;
    // redis过期时间字段
    private Long ExpirationTime;

    // 全参构造器
    private RedisKey(String prefix,Long ExpirationTime){
        this.prefix = prefix;
        this.ExpirationTime = ExpirationTime;
    }

    // 用于拼接rediskey的方法
    public String join(String... value){
        // 创建一个拼接字符串
        StringBuilder sb = new StringBuilder();
        sb.append(this.prefix);
        // 遍历参数并拼接
        for (String s : value) {
            sb.append(":").append(s);
        }
        return sb.toString();
    }
}
